
#ifndef DX9MACRO_H_
#define DX9MACRO_H_

#include <winnt.h>
#include <winerror.h>
#include "dxerr.h"

namespace CasaEngine
{

	#if defined(DEBUG) || defined(_DEBUG)
	#define DXCheck(Func) (DXOnError((HRESULT)(Func), __FILE__, __LINE__))
	#define DXTraceError(hr) DXTRACE_ERR(NULL, hr)
	#else
	#define DXCheck(Func) (Func)
	#endif

	////////////////////////////////////////////////////////////
	/// Check DirectX error
	////////////////////////////////////////////////////////////
	inline HRESULT DXOnError(HRESULT hr, const char* file, DWORD Line)
	{
		if (FAILED(hr))
		{
			return DXTrace(file, Line, hr, NULL, false);
		}

		return hr;
	}

} // namespace CasaEngine

#endif // DX9MACRO_H_
